<?
include_once("_inc/configure.php");
include_once("_class/Negozio.class.php");
include_once("_class/AdminVista.class.php");
include_once("_class/OrdiniLista.class.php");
include_once("_class/UserAuth.class.php");
include_once("_class/CliManager.class.php");

//mysql_pconnect('127.0.0.1', 'moka_user', 'arabica');
include("_class/db.class.php");	
$db = new DB($MYSQL_DB, $MYSQL_HOST, $MYSQL_USER, $MYSQL_PASS);

session_start();
if($_REQUEST['lingua']=="ita" || $_REQUEST['lingua']=="eng") $_SESSION['lingua'] = $_REQUEST['lingua'];
elseif($_SESSION['lingua']=="") $_SESSION['lingua'] = "ita";

$id_negozio = Negozio::get_id($_SERVER['HTTP_HOST'],&$db);
if(!$id_negozio>0) exit("Negozio $_SERVER[HTTP_HOST] non esistente");
else $negozio = new Negozio($id_negozio,&$db);

//$file_lingua = "_default/lang/".$_SESSION['lingua'].".php";
//include($file_lingua);
//$file_lingua = $_REQUEST['host']."lang/".$_SESSION['lingua'].".php";
//if(file_exists($file_lingua)) include($file_lingua);

// AUTENTICAZIONE
$ua = new UserAuth(&$db);
$logged = $ua->login($id_negozio);

// VISTA
$vista = new AdminVista($negozio, $ua);

if($logged!==true && $_REQUEST[pagina]!="login")
{
	header("location:login.php?dest=$_REQUEST[pagina]");
	exit();
}elseif($_REQUEST[pagina]=='login')
{
	// SE LOGGATO	
	if($logged===true)
	{
		if(!$_REQUEST[dest])$_REQUEST[dest]='index';
		header("location:$_REQUEST[dest].php");
		exit();
	}
	elseif($logged===-1)
	{	// SE è UN PRIMO ACCESSO
		$vista->login(0); 
	}
	else
	{
		// SE LA PSSWORD è SBAGLIATA
		$vista->login(1);
	}
}elseif($_REQUEST[pagina]=='logout')
{
	$ua->logout();
	if(!$_REQUEST[dest])$_REQUEST[dest]='index';
	header("location:$_REQUEST[dest].php");
	exit();
}


// CONTROLLER
//print_r($_REQUEST);

elseif($_REQUEST[pagina]=='categoria' && ($_REQUEST[mod]=="mod" || $_REQUEST[mod]=="new" || $_REQUEST[mod]=="save" || $_REQUEST[mod]=="del"))
{
	$categoria = $negozio->get_categoria($_REQUEST['id_categoria']);
	if($_REQUEST[mod]=="save"){ 
		$categoria->Save();
		$negozio->build_cat_struct();
		$vista->editCat($categoria);
	}
	elseif($_REQUEST[mod]=="mod" || $_REQUEST[mod]=="new")
	{
		$vista->editCat($categoria);
	}
	elseif($_REQUEST[mod]=="del" )
	{
		$categoria->Delete();
		$negozio->build_cat_struct();
		//$vista->editCat($categoria);
	}
}
elseif($_REQUEST[pagina]=='categoria' && $_REQUEST['id_categoria']>0)
{
	$categoria = $negozio->get_categoria($_REQUEST['id_categoria']);
	$vista->prodList($categoria);
}elseif($_REQUEST[pagina]=='categoria')
{
	$vista->prodIndex();
}
elseif($_REQUEST[pagina]=='anagrafica_prod' && ($_REQUEST[mod]=="mod" || $_REQUEST[mod]=="new" || $_REQUEST[mod]=="save" || $_REQUEST[mod]=="del"))
{
	$categoria = $negozio->get_categoria($_REQUEST['id_categoria']);
	if($_REQUEST[mod]=="save" )$categoria->addAnagrafica($_REQUEST);
	elseif($_REQUEST[mod]=="del") $categoria->delAnagrafica($_REQUEST['id_anagrafica']);
	if($_REQUEST[mod]=="save" && $_REQUEST[id_anagrafica]>0)
	{
		$_REQUEST[mod]="mod";
		$_REQUEST[id_anagrafica] = "";
	}
	$vista->anagrProd($categoria);
}
elseif($_REQUEST[pagina]=='prodotto' )
{
	$prodotto = new Prodotto($negozio->id, $_REQUEST[id_prodotto],&$db); 	
	if($_REQUEST[mod]=="save" )
	{
		$prodotto->Save();
		$negozio = new Negozio($id_negozio, &$db);
		$vista->editProd($prodotto);
	}elseif($_REQUEST[mod]=="mod" || $_REQUEST[mod]=="new")
	{
		$vista->editProd($prodotto);
	}
	elseif($_REQUEST[mod]=="del")
	{
		$prodotto->Delete();
		$negozio = new Negozio($id_negozio, &$db);
		$categoria = $negozio->get_categoria($_REQUEST['id_categoria']);
		$vista->prodList($categoria);
	}
		
	
	
}
elseif($_REQUEST[pagina]=='prezzi' && $_REQUEST[id_prodotto]>0)
{
	$prodotto = new Prodotto($negozio->id, $_REQUEST[id_prodotto], &$db); 	
	if($_REQUEST[mod]=="save" )
	{
		$prodotto->SavePrices();
	}
	$vista->editPrezzi($prodotto);
	
		
	
	
}
elseif($_REQUEST[pagina]=='ordini')
{
	$ordini = new OrdiniLista($negozio->id, &$db); 
	
	// ESEGUO EVENT OPERAZIONI
	if($_REQUEST[mod]=='del')
	{
		$ordini->Delete($_REQUEST[id_ordine]);
	}
	
	
	// ESTRAGGO LISTA
	if($_REQUEST[tipo]=='conclusi')
	{
		
	}	
	else 
	{
		$ordini->load_ultimi(10);
	}
	$vista->ordiniList($ordini);
	
		
	
	
}elseif($_REQUEST[pagina]=='configurazione' )
{
	$conf = new Configurazioni($negozio->id, &$db);
	if($_REQUEST[tipo]=="generali")
	{
		if($_REQUEST[mod]=="save")
		{
			$conf->SaveGen();
		}
		$vista->editConfigGen();
	}
	elseif($_REQUEST[tipo]=="pagamenti")
	{
		$metodo = $negozio->get_metodi_pagamento($_REQUEST[id_metodo]);
		if($_REQUEST[mod]=="save")
		{
			$metodo->Save();
			$vista->editConfigPag($metodo);
		}
		elseif($_REQUEST[mod]=="mod")
		{
			$vista->editConfigPag($metodo);
		}
		elseif($_REQUEST[mod]=="elm")
		{
			$metodo->Delete();
			$vista->editConfig();
		}else 
		{
			$vista->editConfigPag($metodo);		
		}
	}
	elseif($_REQUEST[tipo]=="spedizioni")
	{
		$metodo = $negozio->get_metodi_spedizione($_REQUEST[id_metodo]);
		if($_REQUEST[mod]=="save")
		{
			$metodo->Save();
			$vista->editConfigSped($metodo);
		}
		elseif($_REQUEST[mod]=="mod" )
		{
			$vista->editConfigSped($metodo);
		}
		elseif($_REQUEST[mod]=="elm")
		{
			$metodo->Delete();
			$vista->editConfig();
		}else 
		{
			$vista->editConfigSped($metodo);		
		}
	
	
	}else 
	{
		$vista->editConfig();
	}
	
		
	
	
}
elseif($_REQUEST[pagina]=='clienti' )
{
	$cliMgr = new CliManager($negozio->id, &$db);
	if($_REQUEST[mod]=="save")
	{
		$cliente = $cliMgr->setCli($_REQUEST);
		$vista->CliEdit($cliente);
	}elseif($_REQUEST[mod]=="mod"  || $_REQUEST[mod]=="new")
	{
		$cliente = $cliMgr->getCli($_REQUEST[id_cliente]);
		$vista->CliEdit($cliente);
	}
	elseif($_REQUEST[mod]=="del")
	{
		$cliente = $cliMgr->delCli($_REQUEST[id_cliente]);
		$lista_clienti = $cliMgr->listCli();
		$vista->CliList($lista_clienti);
	}
	else 
	{	
		$lista_clienti = $cliMgr->listCli();
		$vista->CliList($lista_clienti);
	}
}
else {
	$vista->index();
}

// OUTPUT
echo $vista->display();




?>